package com.abel.web.view;
import java.io.Serializable;
import java.util.List;

import com.abel.domain.Education;
import com.abel.domain.types.EducationType;
import com.abel.domain.types.GraduationStatus;
import com.abel.domain.types.State;

public class EducationInfoViewBean  extends BaseViewBean implements Serializable {

	private static final long serialVersionUID = -1625111304565090386L;

	private int eduInfoId;
		
	private String eduType;
		
	private String eduSchoolName;
		
	private String eduSchoolCity;
	
	private String eduSchoolState;
	
	private String eduGraduateYn;
		
	private String eduGraduateYear;

	private String eduGraduateMajor;

	private String eduDegree;

	private int aplId;
	
	private int editId;

	private int delId;

	private List<Education> eduList;

	/**
	 * @return the eduInfoId
	 */
	public int getEduInfoId() {
		return eduInfoId;
	}

	/**
	 * @param eduInfoId the userId to set
	 */
	public void setEduInfoId(int eduInfoId) {
		this.eduInfoId = eduInfoId;
	}

	/**
	 * @return the eduType
	 */
	public String getEduType() {
		return eduType;
	}

	/**
	 * @param eduType the eduType to set
	 */
	public void setEduType(String eduType) {
		this.eduType = eduType;
	}

	/**
	 * @return the eduSchoolName
	 */
	public String getEduSchoolName() {
		return eduSchoolName;
	}

	/**
	 * @param eduSchoolName the eduSchoolName to set
	 */
	public void setEduSchoolName(String eduSchoolName) {
		this.eduSchoolName = eduSchoolName;
	}

	/**
	 * @return the eduSchoolCity
	 */
	public String getEduSchoolCity() {
		return eduSchoolCity;
	}

	/**
	 * @param eduSchoolCity the eduSchoolCity to set
	 */
	public void setEduSchoolCity(String eduSchoolCity) {
		this.eduSchoolCity = eduSchoolCity;
	}

	
	
	/**
	 * @return the eduSchoolStateCode
	 */
	public String getEduSchoolState() {
		return eduSchoolState;
	}

	/**
	 * @param eduSchoolStateCode the eduSchoolStateCode to set
	 */
	public void setEduSchoolState(String eduSchoolState) {
		this.eduSchoolState = eduSchoolState;
	}

	/**
	 * @return the eduGraduateYn
	 */
	public String getEduGraduateYn() {
		return eduGraduateYn;
	}

	/**
	 * @param eduGraduateYn the eduGraduateYn to set
	 */
	public void setEduGraduateYn(String eduGraduateYn) {
		this.eduGraduateYn = eduGraduateYn;
	}

	/**
	 * @return the eduGraduateYear
	 */
	public String getEduGraduateYear() {
		return eduGraduateYear;
	}

	/**
	 * @param eduGraduateYear the eduGraduateYear to set
	 */
	public void setEduGraduateYear(String eduGraduateYear) {
		this.eduGraduateYear = eduGraduateYear;
	}

	/**
	 * @return the eduGraduateMajor
	 */
	public String getEduGraduateMajor() {
		return eduGraduateMajor;
	}

	/**
	 * @param eduGraduateMajor the eduGraduateMajor to set
	 */
	public void setEduGraduateMajor(String eduGraduateMajor) {
		this.eduGraduateMajor = eduGraduateMajor;
	}

	/**
	 * @return the eduDegree
	 */
	public String getEduDegree() {
		return eduDegree;
	}

	/**
	 * @param eduDegree the eduDegree to set
	 */
	public void setEduDegree(String eduDegree) {
		this.eduDegree = eduDegree;
	}

	/**
	 * @return the aplId
	 */
	public int getAplId() {
		return aplId;
	}

	/**
	 * @param aplId the aplId to set
	 */
	public void setAplId(int aplId) {
		this.aplId = aplId;
	}

	/**
	 * @return the editId for edit link
	 */
	public int getEditId() {
		return editId;
	}

	/**
	 * @param editId set the editId for edit link
	 */
	public void setEditId(int editId) {
		this.editId = editId;
	}

	/**
	 * @return the delId for delete link
	 */
	public int getDelId() {
		return delId;
	}

	/**
	 * @param delId to set the editInfoId to be deleted
	 */
	public void setDelId(int delId) {
		this.delId = delId;
	}

	/**
	 * @return the eduList
	 */
	public List<Education> getEduList() {
		return eduList;
	}

	/**
	 * @param aplId the aplId to set
	 */
	public void setEduList(List<Education> eduList) {
		this.eduList = eduList;
	}
	
	/**
	 * A utility method to return all states
	 * @return
	 */
	public State[] getStates() {
		return State.values();
	}

	/**
	 * @return a utility method with translates the state code to the state name
	 */
	public String getEduSchoolStateName(String eduSchoolState) {
		return State.getStateName(eduSchoolState);
	}

	/**
	 * A utility method to returns all education types
	 * @return
	 */
	public EducationType[] getEducationTypes() {
		return EducationType.values();
	}
	
	/**
	 * A utility method to translate the educationtype code to educationtypedesc
	 * @param educationTypeCode
	 * @return
	 */
	public String getEducationTypeDesc(String educationTypeCode) {
		
		return EducationType.getEducationTypeDesc(educationTypeCode);
	}
	
	/**
	 * a utility method to get all grad statuses
	 * @return
	 */
	public GraduationStatus[] getGraduationStatuses() {
		
		return GraduationStatus.values();
	}

	/**
	 * a utility method to get the graduation status desc
	 * @param gradStatusCode
	 * @return
	 */
	public String getGraduationStatus(String gradStatusCode) {
		
		return GraduationStatus.getGradStatus(gradStatusCode);
	}
}
